package com.ly.anno;

import java.lang.annotation.*;

/**
 * Company 源辰信息
 *
 * @author navy
 * @date 2024/11/3
 * Email haijunzhou@hnit.edu.cn
 */
@Anno(value="abc", age=10, likes = "看书")
public class AnnoDemo {
    @Anno(value = "efg", likes={"唱歌","跳舞"})
    int a;

    public static void main(String[] args) {
        Class<AnnoDemo> aClass = AnnoDemo.class;
        Anno anno = aClass.getAnnotation(Anno.class);
        System.out.println("anno = " + anno);
        System.out.println("anno.value() = " + anno.value());
        System.out.println("anno.age() = " + anno.age());

        Class<AnnoDemoSub> aClass1 = AnnoDemoSub.class;
        Anno anno1 = aClass1.getAnnotation(Anno.class);
        System.out.println("anno1 = " + anno1);
    }
}

class AnnoDemoSub extends AnnoDemo{

}

@Target({ElementType.TYPE, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@interface Anno {
    String value();
    int age() default 20;
    String[] likes();
}
